package com.oa.service.impl;

import com.oa.mapper.DutyMapper;
import com.oa.pojo.Duty;
import com.oa.service.DutyService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
* @author 吴世荣
* @description 针对表【duty】的数据库操作Service实现
* @createDate 2023-11-02
*/
@Service
public class DutyServiceImpl implements DutyService{
    @Autowired
    private DutyMapper dutyMapper;
    @Override
    public List<Duty> selectDuty(Duty duty) {
        System.out.println("到service");
        return dutyMapper.selectAll(duty);
    }

    @Override
    public int deleteDuty(Integer id) {
        Duty duty = new Duty();
        duty.setId(id);
        int value=dutyMapper.deleteDuty(duty);
        /*如果删除成功  则把该状态设置为停用  2  表示停用*/
        if (value==1){
            duty.setStatus(2);
            updateDuty(duty);
        }
        return value;
    }
    @Override
    public int insertDuty(Duty duty) {
        Duty duty1 = new Duty();
        /*查询全部的职务信息*/
        List<Duty> dutyList=selectDuty(duty1);
        for (int i=0;i<dutyList.size();i++){
            /*在部门id 和 职务名都相同的情况下 不能添加*/
            if(dutyList.get(i).getDeptId()==duty.getDeptId() && dutyList.get(i).getDutyName().equals(duty.getDutyName())){
                return 0;
            }
        }
        return dutyMapper.updateDuty(duty);
    }
    @Override
    public int updateDuty(Duty duty) {
        Duty duty1 = new Duty();
        /*查询全部的职务信息*/
        List<Duty> dutyList=selectDuty(duty1);
        for (int i=0;i<dutyList.size();i++){
            /*在部门id 和 职务名都相同的情况下 不能更新*/
            if(dutyList.get(i).getDeptId()==duty.getDeptId() && dutyList.get(i).getDutyName().equals(duty.getDutyName()) &&dutyList.get(i).getId()!=duty.getId()){
                return 0;
            }
        }
        return dutyMapper.updateDuty(duty);
    }
}




